package pl.elka.pszt.model.literal;

/**
 * Reprezentuje predykat, unikalny dla danej nazwy. Zapisuje tez liczbe jego
 * argumentow.
 * 
 * @author Andrzej Makarewicz
 * 
 */
public class Predicat {
	
	private final int id, argumentsNumber;
	
	public Predicat(int id, int argumentsNumber) {
		this.id = id;
		this.argumentsNumber = argumentsNumber;
	}
	
	public int getId() {
		return id;
	}
	
	public int getArgumentsNumber() {
		return argumentsNumber;
	}
	
	@Override
	public int hashCode() {
		return 31 + id;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj) return true;
		if (obj == null) return false;
		if (getClass() != obj.getClass()) return false;
		Predicat other = (Predicat) obj;
		if (id != other.id) return false;
		return true;
	}
	
}
